iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0
Software Development

Unity遊戲開發系列 第 3

DAY03 剛體Rigidbody

  • 分享至 

  • xImage
  •  

為物件加入剛體後會為物件附加物理的特性,任何會動的遊戲物件都需要用到剛體

製作2D遊戲則使用Rigidbody2D
https://ithelp.ithome.com.tw/upload/images/20230918/20162530D73hvMVhHB.png

Body Type

Dynamic(動態):預設的型態,用在物理作用模擬下會移動的物件,會受到重力、碰撞等物理條件的影響,與所有類型的剛體碰撞,最耗效能的類型。

Kinematic(運動學):不會受到物理作用力影響,但是可以對其他剛體發揮物理影響,對系統資源要求較低。僅能碰撞Dynamic物件,無法碰撞Kinematic及Static物件。

Static(靜態):在物理作用模擬下不會移動,可以視其爲一個具有無限質量、不可移動的物體,最不耗系統資源。

Material

可以放入自訂的Physic 2D物理材質,用來調整物件碰撞時發生的摩擦和彈性。

Simulated

是否應用物理模擬的開關,關閉時任何附加的Collider2D的碰撞和Joint2D的約束效果都不會參與物理模擬。

Use Auto Mass

依據物件的碰撞器外形大小去自動計算物件的質量,勾選後無法改動Mass欄位的數值

Mass:物件的質量,會影響碰撞速度。
Linear Drag:物件移動時的阻力,影響物件在沒有發生物理行為下停止移動的速度。
Angular Drag:物件旋轉時的阻力,影響遊戲物件停止旋轉的速度。
Gravity Scale:重力的大小,影響物體承受重力的程度。

Collision Detection

碰撞偵測的模式
Discrete:預設,為間段性偵測碰撞
Continuous:為連續性偵測碰撞,能防止靜態物件被快速移動的物體穿透
Continuous Dynamic:動態連續,適用於快速移動的物體防止穿透

Sleeping Mode

決定rigidbody要不要啟用,在物件靜止時就會進入休眠減少不必要的運算,只有再次被改變屬性,或是透過事件產生改變才會再次啟用。有以下幾種模式:
Never Sleep 一直都啟用,不進入休眠
Start Awake 開始時啟用
Start Asleep 開始時休眠

Interpolate

能夠改善不規則位移,如果物件運動看起來有不明抖動可以打開這個進行修正。
None:預設為無
Interpolate:根據前一幀的位置來做平滑差值
Extrapolate:預測下一幀的位置來做平滑差值

Constraints

設定剛體的移動和旋轉限制
Freeze position XY:限制X軸或Y軸位移,可以做成平移或垂直移動。
Freeze rotation Z :限制Z軸轉動,人物移動時就不會因旋轉而倒在地上。


參考資料
https://docs.unity3d.com/2022.2/Documentation/Manual/Rigidbody2D-Static.html
https://www.twblogs.net/a/5b8cfcc82b717718833874f1
https://www.slideshare.net/sshiouwu/unity-2di-179107075


上一篇
DAY02 Uinty下載和介面介紹
下一篇
DAY04 碰撞框Collision
系列文
Unity遊戲開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言